8027b904: 27 bd ff e0  ADDIU sp, sp, 0xffffffe0 (-32)
8027b908: af bf 00 14  SW ra, sp, 0x14 (20)
8027b90c: af a4 00 20  SW a0, sp, 0x20 (32)
8027b910: af a5 00 24  SW a1, sp, 0x24 (36)

8027b914: 3c 0e 80 33  LUI t6, 0x8033 (32819)
8027b918: 8d ce de f4  LW t6, t6, 0xffffdef4 (-8460)
8027b91c: 11 c0 00 32  BEQ r0, t6, 0x8027b9e8 (pc + 0xc8)  if (!*(0x8032def4)) goto 0x8027b9e8;
8027b920: 00 00 00 00  NOP

8027b924: 3c 04 80 34  LUI a0, 0x8034 (32820)
8027b928: 8c 84 c3 88  LW a0, a0, 0xffffc388 (-15480)
8027b92c: 0c 09 e2 ae  JAL 0x80278ab8 (-2144892232)        [sp + 0x1c] = 0x80278ab8(*(0x8033c388), 0xc);
8027b930: 24 05 00 0c  ADDIU a1, r0, 0xc (12)
8027b934: af a2 00 1c  SW v0, sp, 0x1c (28)

8027b938: 3c 0f 80 34  LUI t7, 0x8034 (32820)
8027b93c: 85 ef ba e0  LH t7, t7, 0xffffbae0 (-17696)          t7 = *(0x8033bae0)
8027b940: 3c 19 80 34  LUI t9, 0x8034 (32820)
8027b944: 8f a8 00 1c  LW t0, sp, 0x1c (28)                    t0 = [sp + 0x1c]
8027b948: 00 0f c0 80  SLL t8, t7, 0x2 (2)                     t8 = *(0x8033bae0)<<2
8027b94c: 03 38 c8 21  ADDU t9, t9, t8
8027b950: 8f 39 c2 e8  LW t9, t9, 0xffffc2e8 (-15640)          t9 = 0x8033c2e8[*(0x8033bae0)]
8027b954: ad 19 00 00  SW t9, t0, 0x0 (0)                  [sp + 0x1c]->off0x00 = 0x8033c2e8[*(0x8033bae0)];

8027b958: 8f a9 00 20  LW t1, sp, 0x20 (32)
8027b95c: 8f aa 00 1c  LW t2, sp, 0x1c (28)
8027b960: ad 49 00 04  SW t1, t2, 0x4 (4)                  [sp + 0x1c]->off0x04 = arg1;

8027b964: 8f ab 00 1c  LW t3, sp, 0x1c (28)
8027b968: ad 60 00 08  SW r0, t3, 0x8 (8)                  [sp + 0x1c]->off0x08 = 0;

8027b96c: 87 ad 00 26  LH t5, sp, 0x26 (38)                    t5 = arg2
8027b970: 3c 0c 80 33  LUI t4, 0x8033 (32819)
8027b974: 8d 8c de f4  LW t4, t4, 0xffffdef4 (-8460)           t4 = *(0x8032def4)
8027b978: 00 0d 70 80  SLL t6, t5, 0x2 (2)                     t6 = arg2<<2
8027b97c: 01 8e 78 21  ADDU t7, t4, t6                         t7 = *(0x8032def4) + arg2<<2
8027b980: 8d f8 00 14  LW t8, t7, 0x14 (20)                    t8 = *(0x8032def4)->off0x14[arg2]
8027b984: 17 00 00 09  BNE t8, r0, 0x8027b9ac (pc + 0x24)  if ((*(0x8032def4))->off0x14[arg2]) goto 0x8027b9ac;
8027b988: 00 00 00 00  NOP

8027b98c: 87 a9 00 26  LH t1, sp, 0x26 (38)
8027b990: 3c 08 80 33  LUI t0, 0x8033 (32819)
8027b994: 8d 08 de f4  LW t0, t0, 0xffffdef4 (-8460)
8027b998: 8f b9 00 1c  LW t9, sp, 0x1c (28)
8027b99c: 00 09 50 80  SLL t2, t1, 0x2 (2)
8027b9a0: 01 0a 58 21  ADDU t3, t0, t2                     *(0x8032def4)->off0x14[arg2] = [sp + 0x1c];
8027b9a4: 10 00 00 09  BEQ r0, r0, 0x8027b9cc (pc + 0x24)  goto 0x8027b9cc;
8027b9a8: ad 79 00 14  SW t9, t3, 0x14 (20)

*
8027b9ac: 87 ae 00 26  LH t6, sp, 0x26 (38)                    t6 = arg2
8027b9b0: 3c 0c 80 33  LUI t4, 0x8033 (32819)
8027b9b4: 8d 8c de f4  LW t4, t4, 0xffffdef4 (-8460)           t4 = *(0x8032def4)
8027b9b8: 00 0e 78 80  SLL t7, t6, 0x2 (2)                     t7 = arg2<<2
8027b9bc: 8f ad 00 1c  LW t5, sp, 0x1c (28)
8027b9c0: 01 8f c0 21  ADDU t8, t4, t7                         t8 = *(0x8032def4) + (arg2<<2)
8027b9c4: 8f 09 00 34  LW t1, t8, 0x34 (52)                    t1 = *(*(0x8032def4) + (arg2<<2) + 0x34)
8027b9c8: ad 2d 00 08  SW t5, t1, 0x8 (8)                  *(0x8032def4)->off0x34[arg2]->off0x08 = [sp + 0x1c];

*
8027b9cc: 87 b9 00 26  LH t9, sp, 0x26 (38)                    t9 = arg2
8027b9d0: 3c 0a 80 33  LUI t2, 0x8033 (32819)
8027b9d4: 8d 4a de f4  LW t2, t2, 0xffffdef4 (-8460)           t2 = *(0x8032def4)
8027b9d8: 8f a8 00 1c  LW t0, sp, 0x1c (28)                    
8027b9dc: 00 19 58 80  SLL t3, t9, 0x2 (2)                     t3 = arg2<<2
8027b9e0: 01 4b 70 21  ADDU t6, t2, t3                         t6 = *(0x8032def4) + arg2<<2
8027b9e4: ad c8 00 34  SW t0, t6, 0x34 (52)                (*(0x8032def4))->off0x34[arg2] = [sp + 0x1c];

*
8027b9e8: 10 00 00 01  BEQ r0, r0, 0x8027b9f0 (pc + 0x4)
8027b9ec: 00 00 00 00  NOP
8027b9f0: 8f bf 00 14  LW ra, sp, 0x14 (20)
8027b9f4: 27 bd 00 20  ADDIU sp, sp, 0x20 (32)
8027b9f8: 03 e0 00 08  JR ra
8027b9fc: 00 00 00 00  NOP


if (!*(0x8032def4)) goto 0x8027b9e8;
[sp + 0x1c] = 0x80278ab8(*(0x8033c388), 0xc);
[sp + 0x1c]->off0x00 = 0x8033c2e8[*(0x8033bae0)];
[sp + 0x1c]->off0x04 = arg1;
[sp + 0x1c]->off0x08 = 0;
if ((*(0x8032def4))->off0x14[arg2]) goto 0x8027b9ac;
*(0x8032def4)->off0x14[arg2] = [sp + 0x1c];
goto 0x8027b9cc;
8027b9ac:
*(0x8032def4)->off0x34[arg2]->off0x08 = [sp + 0x1c];
8027b9cc:
(*(0x8032def4))->off0x34[arg2] = [sp + 0x1c];
8027b9e8:

struct dlist_node {
    Mtx *m;
    u64 *dl;
    struct dlist_node *next;
};

void 0x8027b904(u32 segptr, short rendermodebucket)
{
    struct dlist_node *p;
    
    if (*(0x8032def4)) {
        p = 0x80278ab8(*(0x8033c388), 0xc);
        p->m = 0x8033c2e8[*(0x8033bae0)];
        p->dl = segptr;
        p->next = 0;
        if (!((*(0x8032def4))->headptrs[rendermodebucket])) {
            *(0x8032def4)->headptrs[rendermodebucket] = p;
        } else {
            *(0x8032def4)->lastnodes[rendermodebucket]->next = p;
        }
        (*(0x8032def4))->lastnodes[rendermodebucket] = p;
    }
}
